-
Notifications
You must be signed in to change notification settings - Fork 260
Model shapes config #2036
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Model shapes config #2036
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/ao/2036
Note: Links to docs will display an error until the docs builds have been completed. ✅ You can merge normally! (6 Unrelated Failures)As of commit 8f73ebf with merge base d06b3e3 ( BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.
bcdb20c
to
bbcba36
Compare
import torch.nn as nn | ||
|
||
|
||
class ToyLinearModel(torch.nn.Module): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if you plan to use these for benchmarks they should be in torchao rather than testing. I think if someone pip installs torchao it doesn't install the test dir.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also should probably mark as a TODO to conslidate all random model architecture definitions into one place. ToyLinear shows up all over hte place in our testing code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
torchao.testing is built in the wheel. As discussed offline, we can define models in torchao.testing and use it everywhere in torchao, tests and benchmarks
it looks like htere's more here than just model shapes config, should add more documentaiton to PR description about all the things that are being changed/updated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
anything expected to be used outside of tests should be in ao. imports in benchmarks to testing should have a really good justification.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
sorry will need to revert this to fix diff train, we can't touch |
This reverts commit a724a37.
It was an automatic lint fix, as the ruff tests were failing. I can reland without touching those two files. |
@jainapurva should be fine now, diff train is restored |
This pull request introduces significant updates to the microbenchmarking framework, focusing on new model types, and enhanced shape generation options. The changes aim to expand functionality, and more extensive benchmarking configurations.
Enhancements to Model Types and Shape Generation
ln_linear_<activation>
(e.g.,sigmoid
,relu
,gelu
) andtransformer_block
with self-attention and MLP. These are documented inbenchmarks/microbenchmarks/README.md
.custom
,llama
,pow2
,pow2_extended
,sweep
) to support diverse matrix shapes for benchmarking. These options are implemented inbenchmark_runner.py
and documented in the README.Refactoring and Code Simplification
create_model_and_input
withcreate_model_and_input_data
, now imported fromtorchao.testing.model_architectures
. This centralizes model definitions and input data generation.ToyLinearModel
,LNLinearSigmoid
) fromutils.py
, consolidating them intotorchao.testing.model_architectures
.Future TODO: Refactor Torchao to use model definitions from torchao.testing.model_architectures, #2078
Updates to Configuration
benchmark_config.yml
to include configurations for new model types and shape generation options, such asllama
andpow2
.Documentation Improvements
README.md
to provide detailed descriptions of new model types and shape generation options, ensuring users can easily understand and utilize the new features.These changes collectively enhance the flexibility, maintainability, and usability of the benchmarking framework.
Sample configuration.yml for inference benchmarks